fix: ensure that the parent of a SourceRoot cannot be itself #17381
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fix #17378.
In
FileSetConfig.map
, different roots might be mapped to the sameroot_id
due to deduplication inProjectFolders::new
:In
source_root_parent_map
, r-a might encounter paths where their SourceRootId (i.e.root_id
) is identical, yet one the them is the parent of the another. This situation can cause theroot_id
to be its own parent, potentially leading to an infinite loop.This PR resolves such cases by adding a check.